package com.java110.intf.community;

import com.alibaba.fastjson.JSONObject;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.repair.RepairDto;
import com.java110.dto.repair.RepairPhotoDto;
import com.java110.dto.repair.RepairReturnVisitDto;
import com.java110.dto.repair.RepairStaffsFlow;
import com.java110.vo.ResultVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.RequestEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @ClassName IFloorInnerServiceSMO
 * @Description 小区楼接口类
 * @Author wuxw
 * @Date 2019/4/24 9:04
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@FeignClient(name = "community-service", configuration = {FeignConfiguration.class})
@RequestMapping("/repair")
public interface IRepairInnerServiceSMO {

    @RequestMapping(value = "/saveRepairReturnVisit",method = RequestMethod.POST)
    ResponseEntity<String> saveRepairReturnVisit( RequestEntity requestEntity);

    @RequestMapping(value = "/queryRepairReturnVisit", method = RequestMethod.GET)
    ResponseEntity<String>  queryRepairReturnVisit(@RequestParam("communityId") String communityId);


    @RequestMapping(value = "/saveOwnerRepair", method = RequestMethod.POST)
    Long saveOwnerRepair(@RequestBody RepairDto repairDto);

    @RequestMapping(value = "/listOwnerRepairs", method = RequestMethod.POST)
    List<RepairDto> listOwnerRepairs(JSONObject reqJson);
    @RequestMapping(value = "/updateOwnerRepair", method = RequestMethod.POST)
    void updateOwnerRepair(JSONObject reqJson);
    @RequestMapping(value = "/deleteOwnerRepair", method = RequestMethod.POST)
    void deleteOwnerRepair(JSONObject reqJson);
    @RequestMapping(value = "/repairDispatch", method = RequestMethod.POST)
    void repairDispatch(JSONObject reqJson);
    @RequestMapping(value = "/getOneById", method = RequestMethod.POST)
    RepairDto getOneById(Long repairId);
    @RequestMapping(value = "/repairDispatchFlow", method = RequestMethod.POST)
    void repairDispatchFlow(JSONObject reqJson);
    @RequestMapping(value = "/listRepairStaffs", method = RequestMethod.POST)
    List<RepairStaffsFlow> listRepairStaffs(JSONObject reqJson);
    @RequestMapping(value = "/lastTimeRepairFlow", method = RequestMethod.POST)
    RepairStaffsFlow lastTimeRepairFlow(Long repairId);
    @RequestMapping(value = "/updateRepairDispatchFlow", method = RequestMethod.POST)
    void updateRepairDispatchFlow(RepairStaffsFlow repairStaffsFlows);
    @RequestMapping(value = "/listStaffRepairs", method = RequestMethod.POST)
    List<RepairDto> listStaffRepairs(JSONObject reqJson);
    @RequestMapping(value = "/repairStop", method = RequestMethod.POST)
    void repairStop(JSONObject reqJson);
    @RequestMapping(value = "/repairStart", method = RequestMethod.POST)
    void repairStart(JSONObject reqJson);
    @RequestMapping(value = "/repairFinish", method = RequestMethod.POST)
    void repairFinish(List<RepairPhotoDto>beforePhotoMap);

    void choosedGoodsList(List<HashMap<Object, Object>> choosedList);
}
